package ar.com.sgsvm.logic;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

import ar.com.sgsvm.dao.DaoFactory;
import ar.com.sgsvm.dao.ILineaFacturaDao;
import ar.com.sgsvm.entity.LineaFactura;
import ar.com.sgsvm.entity.Precio;

public class LineaFacturaLogica {

	private DaoFactory mDaoFactory = DaoFactory.getDaoFactory(DaoFactory.SQLITE);

	public List<LineaFactura> listadoLineasFactura(long idFactura) throws Exception {
		ILineaFacturaDao lineaFacturaDao = mDaoFactory.getLineaFacturaDao();
		return lineaFacturaDao.readByIdFactura(idFactura);
	}

	public BigDecimal determinarPrecio(long idArticulo, Date fecha) throws Exception {
		List<Precio> precios = mDaoFactory.getPrecioDao().readByArticulo(idArticulo);
		Iterator<Precio> itPrecio = precios.listIterator();
		Precio precio = (Precio) itPrecio.next();
		while (itPrecio.hasNext() && precio.getFechaHora().compareTo(fecha) <= 0) {
			precio = (Precio) itPrecio.next();
		}
		return precio.getValor();
	}
}
